A pool of objects, allocated in the heap and tracked by their pointers. More...
Public Member Functions | |
PtrPool (Allocator< T > *allocator=new DefaultAllocator< T >(), Deallocator< T > *deallocator=new DefaultDeallocator< T >()) | |
~PtrPool () | |
size_t | getPoolSize () const |
size_t | getFreeItemsCount () const |
size_t | getFlyingItemsCount () const |
T * | getObject () |
void | releaseObject (T *object) |
A pool of objects, allocated in the heap and tracked by their pointers.
Can be used to keep objects around and reusing them many times. This helps in easing memory allocation / deallocation requests, this reducing calls to system.
nkMemory::PtrPool< T >::PtrPool | ( | Allocator< T > * | allocator = new DefaultAllocator< T >() , |
Deallocator< T > * | deallocator = new DefaultDeallocator< T >() |
||
) |
Constructor.
allocator | Allocator to use when a new object has to be allocated. The pool takes ownership of the allocator provided. |
deallocator | Deallocator to use when an object has to be freed. The pool takes ownership of the deallocator provided. |
nkMemory::PtrPool< T >::~PtrPool | ( | ) |
Destructor.
size_t nkMemory::PtrPool< T >::getPoolSize | ( | ) | const |
size_t nkMemory::PtrPool< T >::getFreeItemsCount | ( | ) | const |
size_t nkMemory::PtrPool< T >::getFlyingItemsCount | ( | ) | const |
T* nkMemory::PtrPool< T >::getObject | ( | ) |
void nkMemory::PtrPool< T >::releaseObject | ( | T * | object | ) |
Returns an object to the pool.
object | Object to return to the pool. |